#ifndef IPMSGUSER_H
#define IPMSGUSER_H


#include "formchat.h"
#include "ipmsgcommon.h"

/**
 * @brief IpMsgUser class
 */
class IpMsgUser : public QObject
{
    Q_OBJECT
public:
    explicit IpMsgUser(QObject *parent = nullptr);
    ~IpMsgUser();
    void dumpUserInfo();
    void appendChatHistory(QString data);
    void updateChatFormHistory();

    QList <fileEntryT *> fileQueue;

    QByteArray   userVer;                   /**< 用户版本          */
    QByteArray   userId;                    /**< 用户账号          */
    QByteArray   userNickName;              /**< 用户昵称          */
    QByteArray   userGroupName;             /**< 用户组名          */
    QByteArray   userHostName;              /**< 用户主机名        */
    QByteArray   userEmail;                 /**< 用户Email         */
    QByteArray   userIcon;                  /**< 用户图标          */
    QHostAddress userHostAddr;              /**< 用户主机地址      */
    uint32_t     userPktSeq;                /**< 用户包序列        */
    uint32_t     userCfmSeq;
    FormChat *   chatForm = nullptr;        /**< 聊天对话框        */
    QString      chatHistory;               /**< 保存对话历史记录   */
    QByteArray   chatBuffer;

    int fileSendFlag;                       /**< 文件发送标志       */
    int offlineTimer = 0;                   /**< 离线计时器         */
    int blinkTimer   = 0;                   /**< 闪烁计时器         */
    int blinkFlag    = 0;                   /**< 闪烁标志           */

signals:
    void sendFileUpdate();

private slots:

};

#endif // IPMSGUSER_H
